Apache POI এর সাহায্যে Excel ফাইল তৈরি বা সম্পাদনা করার সময়, সেলগুলোর border (সীমানা) এবং alignment (অ্যালাইনমেন্ট) নিয়ন্ত্রণ করা খুবই গুরুত্বপূর্ণ। এটি ডেটাকে সুন্দরভাবে প্রদর্শন করতে এবং পাঠযোগ্যতা উন্নত করতে সহায়ক। নিচে আমরা Apache POI ব্যবহার করে কিভাবে border এবং alignment সেট করা যায়, তা নিয়ে আলোচনা করব।
১. Border (সীমানা) সেট করা
Excel সেলের চারপাশে সীমানা (borders) যোগ করার জন্য CellStyle ব্যবহার করা হয়। POI সেলগুলোর চারপাশে বিভিন্ন ধরনের সীমানা যোগ করতে বিভিন্ন BorderStyle ব্যবহার করতে সহায়ক।
BorderStyle Enum:
Apache POI একটি BorderStyle enum প্রদান করে, যার মাধ্যমে আপনি সেলগুলোর সীমানার ধরন নির্ধারণ করতে পারেন। কিছু প্রচলিত সীমানা ধরন হল:
- BorderStyle.THIN: সিম্পল সীমানা
- BorderStyle.MEDIUM: মাঝারি সীমানা
- BorderStyle.DASHED: ড্যাশড সীমানা
- BorderStyle.DOUBLE: ডাবল সীমানা
- BorderStyle.NONE: কোন সীমানা না দেওয়া
উদাহরণ: Border সেট করা
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class BorderExample {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook(); // Create new workbook
Sheet sheet = workbook.createSheet("Sheet 1"); // Create sheet
// Create a cell style and set borders
CellStyle style = workbook.createCellStyle();
style.setBorderTop(BorderStyle.THIN);
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
// Create a row and cell, then apply the style
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello World");
cell.setCellStyle(style);
// Write to an Excel file
try (FileOutputStream fileOut = new FileOutputStream("border_example.xlsx")) {
workbook.write(fileOut);
}
workbook.close();
}
}
এখানে, সেলটির চারপাশে THIN টাইপের সীমানা প্রয়োগ করা হয়েছে।
২. Alignment (অ্যালাইনমেন্ট) সেট করা
Excel সেলের text alignment বা অ্যালাইনমেন্ট সেট করতে CellStyle এর setAlignment() এবং setVerticalAlignment() মেথড ব্যবহার করা হয়। এখানে আপনি horizontal এবং vertical alignment নির্ধারণ করতে পারেন।
Alignment Enum:
- Horizontal Alignment:
- ALIGN_LEFT: বাম দিকে অ্যালাইন
- ALIGN_CENTER: কেন্দ্রে অ্যালাইন
- ALIGN_RIGHT: ডান দিকে অ্যালাইন
- ALIGN_JUSTIFY: পুরো সেল জুড়ে টেক্সট প্রসারিত
- Vertical Alignment:
- VERTICAL_TOP: উপরের দিকে অ্যালাইন
- VERTICAL_CENTER: সেন্টারে অ্যালাইন
- VERTICAL_BOTTOM: নিচে অ্যালাইন
উদাহরণ: Alignment সেট করা
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class AlignmentExample {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook(); // Create new workbook
Sheet sheet = workbook.createSheet("Sheet 1"); // Create sheet
// Create a cell style and set alignment
CellStyle style = workbook.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER); // Horizontal center
style.setVerticalAlignment(VerticalAlignment.CENTER); // Vertical center
// Create a row and cell, then apply the style
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Centered Text");
cell.setCellStyle(style);
// Write to an Excel file
try (FileOutputStream fileOut = new FileOutputStream("alignment_example.xlsx")) {
workbook.write(fileOut);
}
workbook.close();
}
}
এখানে, সেলটিতে Center alignment (both horizontal and vertical) প্রয়োগ করা হয়েছে।
৩. Border এবং Alignment একসাথে ব্যবহার করা
একই সেলে border এবং alignment একসাথে ব্যবহার করার জন্য, প্রথমে সেল স্টাইল তৈরি করুন এবং তারপর উভয় বৈশিষ্ট্য (border এবং alignment) সেট করুন।
উদাহরণ: Border এবং Alignment একসাথে সেট করা
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class BorderAndAlignmentExample {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook(); // Create new workbook
Sheet sheet = workbook.createSheet("Sheet 1"); // Create sheet
// Create a cell style
CellStyle style = workbook.createCellStyle();
// Set borders
style.setBorderTop(BorderStyle.THIN);
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
// Set alignment
style.setAlignment(HorizontalAlignment.CENTER); // Horizontal center
style.setVerticalAlignment(VerticalAlignment.CENTER); // Vertical center
// Create a row and cell, then apply the style
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Border and Alignment");
cell.setCellStyle(style);
// Write to an Excel file
try (FileOutputStream fileOut = new FileOutputStream("border_and_alignment_example.xlsx")) {
workbook.write(fileOut);
}
workbook.close();
}
}
এখানে, সেলটির চারপাশে thin borders এবং center alignment (both horizontal and vertical) প্রয়োগ করা হয়েছে।
সারাংশ
- Border এবং Alignment সেলগুলোর টেক্সট প্রদর্শনের সৌন্দর্য এবং পাঠযোগ্যতা বাড়াতে সহায়ক।
- Border সেট করতে BorderStyle ব্যবহার করা হয়, যেখানে আপনি বিভিন্ন টাইপের সীমানা নির্ধারণ করতে পারেন (যেমন, THIN, MEDIUM, DASHED ইত্যাদি)।
- Alignment সেট করতে setAlignment() এবং setVerticalAlignment() মেথড ব্যবহার করা হয়, যেখানে আপনি সেলের horizontal এবং vertical অ্যালাইনমেন্ট কনফিগার করতে পারেন।
Apache POI লাইব্রেরি ব্যবহার করে আপনি খুব সহজেই Excel সেলগুলোর সীমানা এবং অ্যালাইনমেন্ট কাস্টমাইজ করতে পারেন, যা ডেটাকে আরও প্রফেশনাল এবং সুন্দরভাবে উপস্থাপন করতে সাহায্য করে।
Read more